iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Security

道德駭客新手入門系列 第 25

Day 25 網站應用程式入侵 3

  • 分享至 

  • xImage
  •  

Footprint Web Infrastructure

Footprinting(足跡掃描)是收集有關系統及其相關元件的完整信息,以及它們的運作方式的過程。網頁應用程式的網絡基礎設施是指它如何連接到網絡中的其他系統、伺服器等的安排。網絡基礎設施足跡掃描是網頁應用程式入侵的第一步,它有助於攻擊者選擇受害者並識別易受攻擊的網頁應用程式。攻擊者會對網絡基礎設施進行足跡掃描,以了解網頁應用程式如何與其對等體連接,使用了哪些技術,並找出網頁應用程式架構的特定部分存在漏洞。這些漏洞可以幫助攻擊者入侵並未經授權地訪問網頁應用程式。足跡掃描網絡基礎設施允許攻擊者執行以下任務:

  1. 伺服器發現:攻擊者嘗試發現主持網頁應用程式的實體伺服器,使用技術如Whois查詢、DNS詢問、端口掃描等。
  2. 服務發現:攻擊者可以發現運行在網頁伺服器上的服務,以確定是否可以使用其中一些服務作為入侵網頁應用程式的攻擊途徑。此程序還提供有關網頁應用程式的信息,如存儲位置,運行服務的機器信息以及涉及的網絡使用和協議。攻擊者可以使用工具,如Nmap、NetScanTools Pro等,來查找運行在開放端口上的服務並利用它們。
  3. 伺服器識別:攻擊者使用橫幅擷取(banner grabbing)來獲取伺服器橫幅信息,有助於識別網頁伺服器軟件的制造和版本。此技術提供的其他信息包括以下內容:
    • 本地身份:例如伺服器的位置和Origin-Host信息。
    • 本地IP地址:伺服器用於發送Diameter Capability Exchange(CER/CEA)消息的本地IP地址,包括伺服器身份、功能以及其他信息,如協議版本號和支持的Diameter應用。
    • 自我名稱:此字段指定伺服器視為本地的所有範圍(realms),並將發送給它們的所有請求視為無範圍(no realm)請求。
  4. 隱藏內容發現:足跡掃描還允許攻擊者提取與主要可見內容不直接相關或無法從主要可見內容訪問的內容和功能。
  5. 負載平衡器檢測:攻擊者可以檢測目標組織的負載平衡器以及它們的實際IP地址,以識別暴露在互聯網上的伺服器。

Analyze Web Applications

攻擊者在嘗試對易受攻擊的網頁伺服器進行各種可能的攻擊後,可能會將注意力轉向網頁應用程式本身。要入侵網頁應用程式,首先,他們可能需要對其進行分析,以確定其易受攻擊的區域。即使它只有一個漏洞,攻擊者也會嘗試啟動適當的攻擊來破壞其安全性。本部分描述了攻擊者如何找到網頁應用程式中的漏洞並利用它們。攻擊者需要分析目標網頁應用程式以確定其漏洞。這樣做有助於他們減少“攻擊表面”。為了分析網頁應用程式,攻擊者需要獲得有關該網頁應用程式的基本知識,然後他們可以分析活動應用程式的功能和技術,以識別任何可能受攻擊的表面。

  1. 識別用戶輸入的入口點:分析網頁應用程式的第一步是檢查應用程式的入口點,它可以後來用作攻擊的入口。入口點之一包括截取HTTP請求的前端網頁應用程式。其他網頁應用程式的入口點是由網頁提供的用戶界面、由Web服務提供的服務界面、服務組件和.NET Remoting組件。

攻擊者應該檢查生成的HTTP請求,以識別用戶輸入的入口點。

  1. 識別伺服器端技術:伺服器端技術或伺服器端腳本系統用於生成客戶端請求的動態網頁,它們存儲在伺服器內部。伺服器允許在Web瀏覽器上運行交互式網頁或網站。常用的伺服器端技術包括Active Server Pages(ASP)、ASP.NET、ColdFusion、JavaServer Pages(JSP)、PHP、Python和Ruby on Rails。攻擊者可以使用各種指紋技術,如HTTP指紋識別,來識別伺服器上正在運行的技術。
  2. 識別伺服器端功能:伺服器端功能指的是伺服器執行程序以生成輸出網頁的能力。用戶請求刺激位於Web伺服器上的腳本以顯示交互式網頁或網站。伺服器執行伺服器端腳本,對用戶不可見。攻擊者應該通過仔細觀察顯示給客戶端的應用程序來評估伺服器端結構和功能。
  3. 識別文件和目錄:Web伺服器托管Web應用程式,而在托管這些Web應用程式時的配置錯誤可能導致重要文件和目錄在互聯網上暴露。攻擊者使用各種自動化工具,如Gobuster,來識別目標網頁應用程式在互聯網上公開的文件和目錄。這些信息進一步幫助攻擊者收集存儲在文件和文件夾中的敏感信息。
  4. 識別網頁應用程式漏洞:網頁應用程式使用各種技術和平台進行開發。如果在網頁應用程式的開發中未遵循安全編碼實踐,可能會留下可以利用以執行各種類型攻擊的漏洞。
  5. 繪製攻擊表面:攻擊者隨後會繪製網頁應用程式的攻擊表面,以針對特定易受攻擊的區域。他們識別應用程序揭示的各種攻擊表面以及與之相關的漏洞。

Bypass Client-side Controls

網頁應用程式需要客戶端控制來限制使用者在通過客戶端元件傳送數據時的輸入,並實施控制使用者與其自己的客戶端互動的措施。開發人員使用技術,如隱藏的HTML表單字段和瀏覽器擴展,以允許通過客戶端將數據傳送到伺服器。通常,網頁開發人員假設從客戶端傳送到伺服器的數據在使用者的控制之內,這種假設可能使應用程式容易受到各種攻擊。繞過客戶端控制的一些技術如下:

  1. 攻擊隱藏表單字段:識別網頁上的隱藏表單字段,並操縱標記和字段,以在將數據傳送到伺服器之前利用網頁。
  2. 攻擊瀏覽器擴展:嘗試攔截瀏覽器擴展的流量,或者反編譯瀏覽器擴展以捕獲使用者數據。
  3. 執行源代碼審查:執行源代碼審查,以識別傳統漏洞掃描工具無法識別的代碼中的漏洞。
  4. 規避XSS過濾器:通過將異常字符注入HTML代碼來規避XSS過濾器。

上一篇
Day 24 網站應用程式入侵 2
下一篇
Day 26 網站應用程式入侵 4
系列文
道德駭客新手入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言